#define _CRT_SECURE_NO_WARNINGS 1

//#include<vector>
//#include<iostream>
//
//using namespace std;
//
//int main()
//{
//	vector<int> v1;
//
//	v1.push_back(1);
//	v1.push_back(2);
//	v1.push_back(3);
//
//	for (size_t i = 0; i < v1.size(); i++)
//	{
//		cout << v1[i] << ' ';
//	}
//	cout << endl;
//
//	vector<int>::iterator it1 = v1.begin();
//	while (it1 != v1.end())
//	{
//		cout << *it1 << ' ';
//		it1++;
//	}
//	cout << endl;
//
//	for (auto e : v1)
//	{
//		cout << e << ' ';
//	}
//	cout << endl;
//
//	return 0;
//}

#include<string>
#include<iostream>

using namespace std;

class Solution
{
public:
    bool Func(char ch)
    {
        if (ch >= '0' && ch <= '9')
        {
            return true;
        }
        return false;
    }

    int myAtoi(string str)
    {
        int start = 0;
        for (int i = 0; i < str.size(); i++)
        {
            if (Func(str[i]))
            {
                if (i - 1 < 0)
                {
                    start = 0;
                }
                else
                {
                    start = i - 1;
                }
                break;
            }
        }
        int ret = 0;
        for (int i = 0; i < str.size(); i++)
        {
            if (Func(str[i]))
            {
                int num = str[i] - '0';
                ret = ret * 10 + num;
            }
        }
        if (str[start] == '-')
        {
            return -ret;
        }
        else
        {
            return ret;
        }
    }
};

int main()
{
    Solution s;

    string str("words and 987");

    int ret = s.myAtoi(str);

    cout << ret << endl;

	return 0;
}